/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * CadastroProdutos.java
 *
 * Created on 28/07/2009, 21:10:59
 */
package br.di0.nyx.cadastro;

import br.di0.sql.consulta.ConsultaPersonDialog;
import br.di0.sql.insert.InsertProdutos;
import br.di0.sql.consulta.ConsultaProdutoDialog;
import br.di0.sql.insert.InsertPerson;
import br.di0.uteis.MetodosUteis;
import br.di0.uteis.MyOwnFocusTraversalPolicy;
import classes.FixedLengthDocument;
import java.awt.Component;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import strategy.IDocument;
import strategy.concretas.DocNovo;
import strategy.concretas.DocNumeros;

/**
 * JInternalFrame para cadastro de novos produtos.
 * @since 2009.08.17
 * @author di0
 */
public class CadastroProdutos extends javax.swing.JInternalFrame implements CadastroFrame {

    /**
     * Cria um novo JInternalFrame de cadastro de produtos
     * @param titulo o título da janela
     */
    public CadastroProdutos(String titulo) {
        initComponents();
        this.setTitle(titulo);
        codProdutoTextField.requestFocusInWindow();
        focusCicle();
        limitarCampos();
        utils.setEnterHowNextTraversalKey(contentsPanel);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        contentsPanel = new javax.swing.JPanel();
        novoCheckBox = new javax.swing.JCheckBox();
        buscaCodButton = new javax.swing.JButton();
        codProdutoTextField = new javax.swing.JTextField();
        codProdutoLabel = new javax.swing.JLabel();
        descricaoTextField = new javax.swing.JTextField();
        descricaoLabel = new javax.swing.JLabel();
        unidadeComboBox = new javax.swing.JComboBox();
        unidadeLabel = new javax.swing.JLabel();
        codFornecedorLabel = new javax.swing.JLabel();
        codFornecedorTextField = new javax.swing.JTextField();
        buscaFornecedorButton = new javax.swing.JButton();
        nomeFornecedorTextField = new javax.swing.JTextField();
        cadastroTextField = new javax.swing.JTextField();
        cadastroLabel = new javax.swing.JLabel();
        comandosPanel = new javax.swing.JPanel();
        salvarButton = new javax.swing.JButton();
        cancelarButton = new javax.swing.JButton();

        setClosable(true);
        setIconifiable(true);
        addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                formFocusGained(evt);
            }
        });

        contentsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Cadastro"));

        novoCheckBox.setMnemonic('N');
        novoCheckBox.setText("Novo");
        novoCheckBox.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                novoCheckBoxActionPerformed(evt);
            }
        });

        buscaCodButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/di0/icones/lupa16x16.png"))); // NOI18N
        buscaCodButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                buscaCodButtonActionPerformed(evt);
            }
        });

        codProdutoTextField.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                codProdutoTextFieldFocusLost(evt);
            }
        });

        codProdutoLabel.setText("Código");

        descricaoLabel.setText("Descrição");

        unidadeComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "cx", "dz" }));

        unidadeLabel.setText("Unidade");

        codFornecedorLabel.setText("Fornecedor");

        codFornecedorTextField.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                codFornecedorTextFieldFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                codFornecedorTextFieldFocusLost(evt);
            }
        });

        buscaFornecedorButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/di0/icones/lupa16x16.png"))); // NOI18N
        buscaFornecedorButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                buscaFornecedorButtonActionPerformed(evt);
            }
        });

        nomeFornecedorTextField.setEditable(false);
        nomeFornecedorTextField.setFont(new java.awt.Font("DejaVu Sans", 1, 13));
        nomeFornecedorTextField.setFocusable(false);

        cadastroTextField.setEditable(false);
        cadastroTextField.setFont(new java.awt.Font("DejaVu Sans", 1, 13)); // NOI18N
        cadastroTextField.setFocusable(false);

        cadastroLabel.setText("Data Cadastro");

        javax.swing.GroupLayout contentsPanelLayout = new javax.swing.GroupLayout(contentsPanel);
        contentsPanel.setLayout(contentsPanelLayout);
        contentsPanelLayout.setHorizontalGroup(
            contentsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, contentsPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(contentsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(contentsPanelLayout.createSequentialGroup()
                        .addComponent(cadastroLabel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(cadastroTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(contentsPanelLayout.createSequentialGroup()
                        .addGroup(contentsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(descricaoLabel)
                            .addComponent(codProdutoLabel)
                            .addComponent(codFornecedorLabel))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(contentsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(contentsPanelLayout.createSequentialGroup()
                                .addGroup(contentsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, contentsPanelLayout.createSequentialGroup()
                                        .addComponent(codProdutoTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(buscaCodButton)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(novoCheckBox))
                                    .addComponent(descricaoTextField, javax.swing.GroupLayout.Alignment.LEADING))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(unidadeLabel)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(unidadeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(contentsPanelLayout.createSequentialGroup()
                                .addComponent(codFornecedorTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(buscaFornecedorButton)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(nomeFornecedorTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 209, Short.MAX_VALUE)))))
                .addGap(33, 33, 33))
        );
        contentsPanelLayout.setVerticalGroup(
            contentsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(contentsPanelLayout.createSequentialGroup()
                .addGroup(contentsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(contentsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(codProdutoLabel)
                        .addComponent(codProdutoTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(buscaCodButton, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(novoCheckBox))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(contentsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(descricaoLabel)
                    .addComponent(descricaoTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(unidadeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(unidadeLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(contentsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(contentsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(codFornecedorLabel)
                        .addComponent(codFornecedorTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(buscaFornecedorButton, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(nomeFornecedorTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(contentsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(cadastroTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(cadastroLabel))
                .addContainerGap(14, Short.MAX_VALUE))
        );

        getContentPane().add(contentsPanel, java.awt.BorderLayout.CENTER);

        comandosPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
        comandosPanel.setLayout(new java.awt.GridLayout(1, 0));

        salvarButton.setMnemonic('S');
        salvarButton.setText("Salvar");
        salvarButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                salvarButtonActionPerformed(evt);
            }
        });
        comandosPanel.add(salvarButton);

        cancelarButton.setMnemonic('C');
        cancelarButton.setText("Cancelar");
        cancelarButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cancelarButtonActionPerformed(evt);
            }
        });
        comandosPanel.add(cancelarButton);

        getContentPane().add(comandosPanel, java.awt.BorderLayout.PAGE_END);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void salvarButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_salvarButtonActionPerformed
        String[] produto = new String[4];

        produto[0] = codProdutoTextField.getText();
        produto[1] = descricaoTextField.getText();
        produto[2] = Integer.toString(unidadeComboBox.getSelectedIndex());
        produto[3] = codFornecedorTextField.getText();

        if (novoCheckBox.isSelected()) {
            inserir(produto);
            //TODO inserir na tabela estoque (valor zerado)
        } else {
            atualizar(produto);
        }
}//GEN-LAST:event_salvarButtonActionPerformed

    private void cancelarButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelarButtonActionPerformed
        novoCheckBox.setSelected(false);
        codProdutoTextField.setEnabled(true);
        buscaCodButton.setEnabled(true);
        codProdutoTextField.requestFocus();
        limparTela();
        focusCicle();
}//GEN-LAST:event_cancelarButtonActionPerformed

    private void novoCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_novoCheckBoxActionPerformed
        ativaCodigo(codProdutoTextField, !novoCheckBox.isSelected());
        limparTela();
        focusCicle();
}//GEN-LAST:event_novoCheckBoxActionPerformed

    private void codProdutoTextFieldFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_codProdutoTextFieldFocusLost
        Component comp = evt.getOppositeComponent();
        if (comp != null) {
            if (comp.getName() == null) {
                carregarProduto();
            }
        }
    }//GEN-LAST:event_codProdutoTextFieldFocusLost

    private void buscaCodButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buscaCodButtonActionPerformed
        ConsultaProdutoDialog produto = new ConsultaProdutoDialog(null, true, this);
        produto.setVisible(true);
    }//GEN-LAST:event_buscaCodButtonActionPerformed

    private void codFornecedorTextFieldFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_codFornecedorTextFieldFocusLost
        Component comp = evt.getOppositeComponent();
        if (comp != null) {
            if (comp.getName() == null) {
                carregarFornecedor(0);
            }
        }
    }//GEN-LAST:event_codFornecedorTextFieldFocusLost

    private void buscaFornecedorButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buscaFornecedorButtonActionPerformed
        String type = Integer.toString(CadastroInternalFrame.FORNECEDOR);
        ConsultaPersonDialog person = new ConsultaPersonDialog(null, true, codFornecedorTextField, type);
        person.setVisible(true);
    }//GEN-LAST:event_buscaFornecedorButtonActionPerformed

    private void formFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_formFocusGained
        carregarFornecedor(1);
    }//GEN-LAST:event_formFocusGained

    private void codFornecedorTextFieldFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_codFornecedorTextFieldFocusGained
        carregarFornecedor(1);
    }//GEN-LAST:event_codFornecedorTextFieldFocusGained

    /**
     * Aplica Expressões Regulares em JTextFields da janela
     */
    public void limitarCampos() {
        //códigoProduto
        doc = new DocNumeros(5);
        codProdutoTextField.setDocument(doc.getDocumentoPlano());

        //codigoFornecedor
        doc = new DocNumeros(5);
        codFornecedorTextField.setDocument(doc.getDocumentoPlano());

        //Descrição Produto
        doc = new DocNovo(FixedLengthDocument.ALL, 30);
        descricaoTextField.setDocument(doc.getDocumentoPlano());
    }

    /**
     * Controle do JCheckBox novo.
     * @param codigoField o campo JTextField referente ao código.
     * @param desativar o status
     */
    public void ativaCodigo(JTextField codigoField, boolean desativar) {
        codigoField.setEnabled(desativar);
        if (!codigoField.isEnabled()) {
            codigoField.setText("");
        }
        buscaCodButton.setEnabled(desativar);
    }

    /**
     * Limpa os campos da janela.
     */
    public void limparTela() {
        utils.limparCampos(contentsPanel);
        unidadeComboBox.setSelectedIndex(0);
        if (novoCheckBox.isSelected()) {
            descricaoTextField.requestFocus();
        } else {
            codProdutoTextField.setEnabled(true);
            codProdutoTextField.requestFocus();
        }
        codFornecedorTextField.setEnabled(true);
    }

    /**
     * Define o ciclo de foco nos itens da janela.
     */
    public void focusCicle() {
        order = new Vector<Component>(10);
        if (!novoCheckBox.isSelected()) {
            order.add(codProdutoTextField);
            order.add(buscaCodButton);
        }
        order.add(novoCheckBox);
        order.add(descricaoTextField);
        order.add(unidadeComboBox);
        order.add(codFornecedorTextField);
        order.add(buscaFornecedorButton);

        order.add(salvarButton);
        order.add(cancelarButton);

        newPolicy = new MyOwnFocusTraversalPolicy(order);
        this.setFocusTraversalPolicy(newPolicy);
    }

    public void setCodText(String cod) {
        codProdutoTextField.setText(cod);
        carregarProduto();
    }

    private void carregarProduto() {
        String codProduto = codProdutoTextField.getText();

        if (!codProduto.equals("")) {
            String produto[] = InsertProdutos.localizar(codProduto);
            if (produto != null) {
                codProdutoTextField.setEnabled(false);

                descricaoTextField.setText(produto[0]);
                unidadeComboBox.setSelectedIndex(Integer.parseInt(produto[1]));
                codFornecedorTextField.setText(produto[2]);

                carregarFornecedor(0);

                String dataFormat = MetodosUteis.timeStampToString(produto[3]);
                cadastroTextField.setText(dataFormat);
            } else {
                JOptionPane.showMessageDialog(null, "Código não encontrado",
                        "Cadastro de Produtos", JOptionPane.ERROR_MESSAGE);
                codProdutoTextField.setText("");
                codProdutoTextField.requestFocus();
            }
        }
    }

    public void carregarFornecedor(int aux) {
        String codFornecedor = codFornecedorTextField.getText();

        if (!codFornecedor.equals("")) {
            InsertPerson forn = new InsertPerson(InsertPerson.FORNECEDOR);
            String fornecedor[] = forn.localizar(codFornecedor);
            if (fornecedor != null) {
                //codFornecedorTextField.setEnabled(false);
                nomeFornecedorTextField.setText(fornecedor[0]);

            } else if (aux == 0) {
                JOptionPane.showMessageDialog(null, "Código não encontrado",
                        "Cadastro de Produtos", JOptionPane.ERROR_MESSAGE);
                codFornecedorTextField.setEnabled(true);
                codFornecedorTextField.setText("");
                codProdutoTextField.requestFocus();
            }
        }
    }

    private void inserir(String[] produto) {
        if (produto[1].equals("")) {
            JOptionPane.showMessageDialog(null, "Digite um nome para o produto.",
                    "Cadastro de Produtos", JOptionPane.WARNING_MESSAGE);
            descricaoTextField.requestFocus();
        } else if (produto[2].equals("")) {
            JOptionPane.showMessageDialog(null, "Selecione uma unidade para o produto.",
                    "Cadastro de Produtos", JOptionPane.WARNING_MESSAGE);
            unidadeComboBox.requestFocus();
        } else if (produto[3].equals("")) {
            JOptionPane.showMessageDialog(null, "Nenhum Fornecedor selecionado.",
                    "Cadastro de Produtos", JOptionPane.WARNING_MESSAGE);
            codFornecedorTextField.requestFocus();
        } else {
            
            int result = InsertProdutos.inserir(produto); // INSERIR NO BANCO******************

            if (result == InsertProdutos.ERROR_FORN_NOT_FOUND) {
                JOptionPane.showMessageDialog(null, "Fornecedor não encontrado.",
                        "Cadastro de Produtos", JOptionPane.ERROR_MESSAGE);
                codFornecedorTextField.requestFocus();
            } else if (result == InsertProdutos.ERROR_USER_NOT_FOUND) {
                JOptionPane.showMessageDialog(null, "Usuário não encontrado.",
                        "Cadastro de Produtos", JOptionPane.ERROR_MESSAGE);
            } else if (result == 1) {
                JOptionPane.showMessageDialog(null, "Produto [" + produto[1] +
                        "] cadastrado com sucesso.",
                        "Cadastro de Produtos", JOptionPane.INFORMATION_MESSAGE);
                limparTela();
            } else {
                JOptionPane.showMessageDialog(null, "Não foi possivel cadastrar o produto.",
                        "Cadastro de Produtos", JOptionPane.INFORMATION_MESSAGE);
                descricaoTextField.requestFocus();
            }
        }

    }

    private void atualizar(String[] produto) {
        if (produto[0].equals("")) {
            JOptionPane.showMessageDialog(null, "Digite um código válido.",
                    "Cadastro de Produtos", JOptionPane.WARNING_MESSAGE);
            codProdutoTextField.requestFocus();
        } else if (produto[1].equals("")) {
            JOptionPane.showMessageDialog(null, "Digite um nome para o produto.",
                    "Cadastro de Produtos", JOptionPane.WARNING_MESSAGE);
            descricaoTextField.requestFocus();
        } else if (produto[2].equals("")) {
            JOptionPane.showMessageDialog(null, "Selecione uma unidade para o produto.",
                    "Cadastro de Produtos", JOptionPane.WARNING_MESSAGE);
            unidadeComboBox.requestFocus();
        } else if (produto[3].equals("")) {
            JOptionPane.showMessageDialog(null, "Nenhum Fornecedor selecionado.",
                    "Cadastro de Produtos", JOptionPane.WARNING_MESSAGE);
            codFornecedorTextField.requestFocus();
        } else {

            int result = InsertProdutos.atualizar(produto); //INSERIR NO BANCO *************

            if (result == InsertProdutos.ERROR_FORN_NOT_FOUND) {
                JOptionPane.showMessageDialog(null, "Fornecedor não encontrado.",
                        "Cadastro de Produtos", JOptionPane.ERROR_MESSAGE);
                codFornecedorTextField.requestFocus();
            } else if (result == InsertProdutos.ERROR_USER_NOT_FOUND) {
                JOptionPane.showMessageDialog(null, "Usuário não encontrado.",
                        "Cadastro de Produtos", JOptionPane.ERROR_MESSAGE);
            } else if (result == 1) {
                JOptionPane.showMessageDialog(null, "Produto [" + produto[1] +
                        "] alterado com sucesso.",
                        "Cadastro de Produtos", JOptionPane.INFORMATION_MESSAGE);
                limparTela();
            } else if (result == InsertProdutos.ERROR_ID_NOT_FOUND) {
                JOptionPane.showMessageDialog(null, "Código não encontrado.",
                        "Cadastro de Usuário", JOptionPane.ERROR_MESSAGE);
                codProdutoTextField.requestFocus();
                codProdutoTextField.selectAll();
            } else {
                JOptionPane.showMessageDialog(null, "Não foi possivel atualizar o produto.",
                        "Cadastro de Produtos", JOptionPane.INFORMATION_MESSAGE);
                descricaoTextField.requestFocus();
            }
        }
    }
    private IDocument doc;
    private MyOwnFocusTraversalPolicy newPolicy;
    private Vector<Component> order = new Vector<Component>(10);
    private MetodosUteis utils = new MetodosUteis();
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton buscaCodButton;
    private javax.swing.JButton buscaFornecedorButton;
    private javax.swing.JLabel cadastroLabel;
    private javax.swing.JTextField cadastroTextField;
    private javax.swing.JButton cancelarButton;
    private javax.swing.JLabel codFornecedorLabel;
    private javax.swing.JTextField codFornecedorTextField;
    private javax.swing.JLabel codProdutoLabel;
    private javax.swing.JTextField codProdutoTextField;
    private javax.swing.JPanel comandosPanel;
    private javax.swing.JPanel contentsPanel;
    private javax.swing.JLabel descricaoLabel;
    private javax.swing.JTextField descricaoTextField;
    private javax.swing.JTextField nomeFornecedorTextField;
    private javax.swing.JCheckBox novoCheckBox;
    private javax.swing.JButton salvarButton;
    private javax.swing.JComboBox unidadeComboBox;
    private javax.swing.JLabel unidadeLabel;
    // End of variables declaration//GEN-END:variables
}
